This invention relates to the detection of watermarks on computer readable memory media. More particularly, this invention relates to a method of detecting block-based watermarks.
It is of great concern to the music, video, software and publishing industries to be able to prevent and track improper copying of content from computer readable memory media or optical memory media (e.g., digital video disks (DVDs), compact disks (CDs), read only memory (ROM), random access memory (RAM), various magnetic media and other memory media). This concern has been addressed, in part, by the use of xe2x80x9cwatermarksxe2x80x9d, which are hidden messages arranged on a memory medium along with other content data, such as video data, audio data, various software applications, etc. The hidden message of a watermark is typically a copy control message such as xe2x80x9cdo not copyxe2x80x9d or xe2x80x9ccopy only oncexe2x80x9d.
For example, watermarks have been used on optical memory media, such as CD-ROMs and DVDs to prevent the undesired copying of music, movies and software. Notwithstanding such efforts to prevent unauthorized copying, the hidden message of a watermark can be blocked, obfuscated or otherwise bypassed when the watermark data is geometrically altered through shifting or resizing. Thus, commercial pirates seeking to wrongfully copy content data containing a watermark with a hidden xe2x80x9cdo not copyxe2x80x9d message can bypass the watermark message through the use of editing and copying equipment that geometrically modifies the location or size of the content data in such a way as to render the watermark message unreadable. Such geometric modification has been accomplished in many different ways including resizing, cropping, warping, mirroring, etc.
Another situation in which the message of a watermark is compromised arises in the normal processing of a computer system or consumer device. For example, the digital content data of a DVD may be inadvertently altered while undergoing format processing from the European PAL TV system to the U.S. NTSC TV system, or vice versa. In addition, digital content data may be inadvertently altered through selectable format processing, such as changing the format for displaying wide-screen movies on a television set, or video editing on a personal computer. Such processing may inadvertently shift or resize the digital content data rendering the message of the watermark unreadable.
With respect to digital video data embedded on a DVD or the like, the data is arranged in numerous consecutive video frames. Watermarks typically carry a copy control message, such as xe2x80x9cdo not copyxe2x80x9d and are arranged in one or more of the video frames to prevent unauthorized and undesired copying. However, consumer and professional playback, editing and copying equipment can be used to resize and shift the video data. The resizing factor and the shift factor can vary over continuous ranges.
In the case of either purposeful or inadvertent shifting and/or resizing of digital content data, the watermark in each frame is similarly shifted and/or resized. A data detector, such as a standard correlation detector or matched filter, is used to detect the presence of any watermark data in each frame of video data. The original reference position of the watermark in the content data is implicit in the hardware or software associated with the detector. When the frames have been shifted and/or resized, even by a very small amount, the correlation detector often cannot properly detect the presence of the watermark since it has been moved from its reference location. Thus, the content of the watermark message cannot be read. This occurs because prior art correlation kernel detectors are particularly dependent upon specific registration of the digital data patterns of the correlation within each video frame. Thus, a slight modification of the shifting factor or resizing factor can cause a correlation detector to fail to detect the correlation kernel since the watermark is no longer at its reference location. The content on the DVD or other optical memory media could then be copied.
When the watermark is used to provide a xe2x80x9cdo not copyxe2x80x9d message for a movie, it may be placed in one or all of the frames of video data. The entire movie includes numerous successive frames. Each frame of content data may include the watermark. While the pattern of the watermark may vary from frame to frame, the xe2x80x9cfamilyxe2x80x9d of the block-based pattern will remain the same throughout a certain number of successive video frames.
Different types of watermark systems exist which attempt to be robust to resizing and translation. One such watermark system typically embeds the watermark in a way that is mathematically invariant to resizing and translation. The detector used in this type of system does not have to adjust to changes in the position and/or size of the watermark. Such a system is typically based on Fourier-Mellin transforms and log-polar coordinates. One drawback of this system is that it requires complex mathematics and a particularly structured watermark pattern and detector. This system cannot be used with pre-existing watermarking systems.
Another prior art watermark system uses repetitive block-based watermarks, wherein all watermark blocks are identical. The block-based watermark in this type of system is typically large and designed to carry the entire copy-control message. The repetition of the same block makes is possible to estimate any resizing of the watermark by correlating different portions of the watermarked image and finding the spacing between certain positions. The resizing is then inverted and the reference block is correlated with the adjusted image to find the watermark and its position simultaneously. An example of this system is the Philips VIVA/JAWS+ watermarking system. A disadvantage of this system is that the design of the watermark must be spatially periodic, which does not always occur in an arbitrary watermarking system.
Yet another type of watermarking system includes an embedded template or helper pattern along with the watermark in digital content data. The detector knows the reference location, size and shape of the template. The detector attempts to detect the template and then uses the detected position of the template to estimate the actual location and size of the watermark. The system then reverses any geometric alterations so that the correlation detector can detect and interpret the watermark. This system is disadvantageous, however, since the templates tend to be fragile and easily attacked.
The present invention overcomes the drawbacks of the prior art by estimating translation and resizing of a block-based watermark using the structure of the block-based watermark itself, without requiring the watermark to be spatially periodic. The computations of the method of the present invention are done completely in the detector. Moreover, the present invention can be implemented in existing block-based watermarking systems without changing the embedding of the watermark. The present invention does not require as much memory as the prior art watermark detection systems nor does it require templates additional to the watermark. The present invention also allows for detection and interpretation of the watermark without resizing and translating each frame. Finally, the present invention also allows for accurate estimates of translation and resizing of a watermark based on just a single video frame, rather than the accumulation of several frames.
In accordance with a first aspect of the present invention, a method of detecting block-based watermark data carrying a hidden message embedded in at least one frame of content data on a computer readable memory medium is provided. The method comprises filtering the watermark data to produce filtered data, calculating the absolute value of the filtered data to produce absolute value data containing center data corresponding to centers of each block in the watermark data, comparing the center data to reference data stored in a memory associated with a watermark detector relating to the expected location of the watermark data, calculating any deviation between the center data and the reference data and utilizing the deviation to detect the hidden message of the watermark.
The method is capable of detecting the hidden message of the block-based watermark data within the content data even if it has been shifted or if noise has been added to it.
The method of the invention is capable of detecting the hidden message of the block-based watermark even if the watermark has been resized.
In a preferred embodiment, the computer readable memory medium comprises an optical medium. The optical medium may comprise a DVD, a CD-ROM, or any other storage device that can be optically read by an associated computer or other detecting device.
It is preferable for the method to comprise filtering the watermark data to produce filtered data arranged in a matrix of rows and columns, calculating the absolute value of the filtered data to produce absolute value data arranged in a matrix of rows and columns, summing the absolute value data along each row of filtered data to generate a row projection signal containing center data corresponding to the centers of each block of the block-based watermark data, summing the absolute value data along each column of filtered data to generate a column projection signal containing center data corresponding to the centers of each block of the block-based watermark data, comparing the center data to reference data stored in memory associated with a watermark detector relating to the expected location of the watermark data within the frame, calculating the deviation between the center data and the reference data, and using the calculated deviation to detect the hidden message of the watermark.
The method of the invention is capable of detecting the hidden message of the block-based watermark even if the watermark has been shifted and/or resized.
The method may also comprise the steps of filtering the watermark data to produce filtered data arranged in a matrix of rows and columns, calculating the absolute value of the filtered data to produce absolute value data arranged in a matrix of rows and columns, summing the absolute value data along each row of filtered data to generate a row projection signal containing center data corresponding to the center of each block of the block-based watermark data, summing the absolute value data along each column of filtered data to generate a column projection signal containing center data corresponding to the center of each block of the block-based watermark data, comparing the center data to reference data stored in memory associated with a watermark detector relating to the expected location of the watermark data within said at least one frame, calculating the deviation between the center data and the reference data, and using the calculated deviation to detect the hidden message of the watermark data.
The watermark data may be arranged in a matrix of rows and columns of blocks on a computer readable memory medium. The method may comprise linearly filtering the watermark data using a finite impulse response filter to produce filtered data arranged in a matrix of rows and columns, calculating the absolute value of the filtered data to produce absolute value data arranged in a matrix of rows and columns, summing the absolute value data along each row of filtered data to generate a row projection signal comprising row center data corresponding to centers of said rows of blocks of said watermark data, summing the absolute value data along each column of filtered data to generate a column projection signal comprising column center data corresponding to centers of said columns of said blocks of watermark data, comparing the row and column center data to reference data stored in memory associated with a watermark detector relating to the expected location of the watermark data, calculating the deviation between the center data and the reference data, and using the calculated deviation to detect the hidden message of the watermark data.
The foregoing features of the present invention may be further appreciated with reference to the following description of the preferred embodiment and accompanying drawings.